package com.equis.architecture.service {
	
	/**
	 * Base class for generated services
	 */
	public class AbstractBusinessService {
		
		private var _blocking:Boolean = false;
		private var _callbackFunction:Function = null;
		private var _errorCallbackFunction:Function = null;

		public function AbstractBusinessService() {
			//Nothing to do
		}

		public function set blocking(value:Boolean):void {
			this._blocking = value;
		}
		
		public function get blocking():Boolean {
			return this._blocking;
		}

		public function set callbackFunction(callbackFunction:Function):void {
			this._callbackFunction =  callbackFunction;
		}
		
		public function get callbackFunction():Function {
			return this._callbackFunction;
		}
		
		public function set errorCallbackFunction(errorCallbackFunction:Function):void {
			this._errorCallbackFunction = errorCallbackFunction;
		}

		public function get errorCallbackFunction():Function {
			return this._errorCallbackFunction;
		}

		public function get serviceName():String {
			throw new Error("This method should be overrided in a subclass");
		}
	}
}